package Interfaces;

import Datatypes.DataJuegoVersion;
import Datatypes.DataVersion;
import Datatypes.DataVersionDesarrollador;

import java.util.List;

public interface IVersion {

    public List<DataJuegoVersion> listarJuegosxVersion() throws Exception;
    public void altaVersion(Double numVersion, String nombreJuego, Double tamanio, String archivo) throws Exception;
    public void altaVersion(Double numVersion, Integer codigo_juego, Double tamanio, String archivo) throws Exception;
    public List<DataVersion> listarPendientes() throws Exception;
    public void altaAprobada(DataVersion dv) throws Exception;
    public void altaRechazada(DataVersion dv, String motivo) throws Exception;
    public List<DataVersion> listarAprobadas(String juego) throws Exception;
    public DataVersion obtenerUltimaVersion (Integer codigo_juego) throws Exception;
    public DataVersionDesarrollador listarVersionesDesarrollador(String Desarrollador) throws Exception;
    public Boolean tieneAprobada(Integer codigo_juego) throws Exception;
    public void notificarClientes(Integer codigo_juego, Double numero_version) throws Exception;
    
    //Manejo de la base
    public void cargarDatosDePrueba(Boolean force) throws Exception;
    public void limpiarBD() throws Exception;
    public Boolean esVaciaBD() throws Exception;
    
    
}
